Comments (8)
Created https://github.com/jab/bidict/tree/tests_refactor branch for this.
from bidict.
Pushed a big refactoring to the branch.
- broke up single bidict.py module into multiple separate modules inside
bidict
dir - condensed docstrings by moving documentation into separate pages and preferring hypothesis- and pytest-based tests over doctests
from bidict.
Hey @tomviner, just a heads up that I merged all the recent progress on branches back to master and rebased. I think git fetch && git reset --hard origin/master
should do the trick to avoid conflicts in any clones. Hope being able to branch off master again makes things easier going forward.
from bidict.
The changes are great, and the splitting up makes things much easier to digest, especially for fresh devs.
It is however frowned upon to edit the history of (i.e. rebase) master branch. It's considered public and so you could be messing someone else up. In this case probably just me that needed special commands to recover, just git pull --rebase origin master
for me, but it's a wise principle in general.
from bidict.
Oh no, my apologies, @tomviner. I really hope I didn't cause you any trouble. I've had so little visibility into anyone else using or working on bidict for so long that I've gotten into the bad habit of rebasing master decently often. If ever there were a time to be more careful it would be now. Sorry for the lack of consideration, and won't happen again.
from bidict.
No probs, it's fine for me, just wanted to pass on the advice for the future.
from bidict.
My work flow that I've built up from interacting with many teams working on a single codebase, is:
- master can never have history edited*
- when pulling any branch don't allow
git pull
to make a merge commit, dogit pull --rebase origin <branch>
instead - feature branches should be rebased often to keep up with master's progress with
git fetch --all; git pull --rebase origin master
I've got some aliases that make this really easy:
alias gfa='git fetch --all
alias gr_master='git pull --rebase origin master'
alias gr_this_branch='git pull --rebase origin $(git rev-parse --abbrev-ref HEAD)'
so I do it without thinking now.
- having said that I did accidentally push a whole repo on top of a whole other repo's master branch the other day at work! So in for a penny, in for a pound, force pushed the fix before anyone noticed :-)
from bidict.
Thanks for the explanation and those aliases, makes sense and much appreciated!
from bidict.
Related Issues (20)
- global name 'BidirectionalMapping' is not defined HOT 21
- github git tags out of sync since 0.18.4 HOT 3
- Missing __all__ in bidict/__init__.py leads to implicit reexport error with mypy in strict mode. HOT 9
- logo HOT 5
- Dependency Dashboard
- Type hints for Bidict type HOT 2
- Try slipcover HOT 1
- Maybe use nix for devcontainer and GHA “tests” workflow
- Why it returns None when I use bidict?
- Will you add a persistence method? HOT 1
- Improve OpenSSF Scorecard HOT 6
- Swap syntax does not work HOT 4
- Automate upgrading dev dependencies HOT 1
- Type alias definition for `MISSING` results in type violations HOT 1
- test fails with python3.12 HOT 3
- Remove dead batteries
- 0.22.1: temp directory in source tree trashes build HOT 6
- 0.22.1: sphinx warnings `reference target not found` HOT 6
- mypy type inference change in 0.23.0 HOT 12
- Recommended performant alt for `namedbidict` HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bidict.