User: Password:
|
|
Subscribe / Log in / New account

Bazaar on the slow track

Bazaar on the slow track

Posted Sep 13, 2012 10:11 UTC (Thu) by hingo (guest, #14792)
In reply to: Bazaar on the slow track by cmorgan
Parent article: Bazaar on the slow track

Yes!!! My wish in this area is a command line interface to git that would use bzr semantics, but store commits as git (and github) behind the scenes.

The cli is really the strength of bzr. You typically can get your workflow done with 3 commands: bzr branch, bzr commit, bzr push. Ok, so you need init and pull and merge too, but that's it. Even though checkout type of workflow is supported, you shouldn't really use it.

What I really like is the fact that all branches are laid out in their own directories. This is yet another incarnation of the unixy "everything is a file" approach. I can reuse my knowledge of basic unix commands that I don't need to learn a specific bzr command for: Change to working in another branch: that's "cd". See what branches are available: "ls". Delete a branch: "rm". Also there's no separate clone vs branch, everything is just a branch.

If someone implemented a git client with these semantics and workflows, it would be an immediate reason to stop using bzr for me at least. This should be perfectly doable while staying 100% with the internal repo format of git.


(Log in to post comments)

Bazaar on the slow track

Posted Sep 13, 2012 11:21 UTC (Thu) by juliank (subscriber, #45896) [Link]

Part of your text works for git as well:

> The cli is really the strength of git. You typically can get
> your workflow done with 3 commands: git clone, git commit,
> git push. Ok, so you need init and pull and merge too, but that's it.

But I still wonder why you never need to look at status or diff.

Bazaar on the slow track

Posted Sep 13, 2012 12:34 UTC (Thu) by hingo (guest, #14792) [Link]

This has not been my experience with git. As I remember from last time, I have to separately clone the git repo and then create my own branch or checkout an existing one. When I work with multiple branches I need to continuously checkout to jump to the one I want laid out in the filesystem. With bzr, all of this is just one command: branch. (Then you use cd to switch.)

Ok, maybe sometime I have actually used diff and status :-) But if you never make mistakes then you don't need to ;-)

Bazaar on the slow track

Posted Sep 13, 2012 12:43 UTC (Thu) by juliank (subscriber, #45896) [Link]

Normally, git automatically checks out whatever HEAD points to. You can also specify another branch to checkout when cloning, using the -b parameter:

git clone -b branch-i-want-to-look-at git://example.com/example.git

Bazaar on the slow track

Posted Sep 13, 2012 12:48 UTC (Thu) by hingo (guest, #14792) [Link]

Ok, so you can combine that into a single command, but in terms of cognitive overhead you are still doing 2 things. In bzr the branch is the only thing you need to know, and HEAD/trunk is no different from any other branch.

It's like the difference between Mac and Windows, if you will. One has 1 mouse buttons, the other has 2, and the first one is considered more elegant because of that :-)

Bazaar on the slow track

Posted Sep 13, 2012 15:52 UTC (Thu) by cdmiller (subscriber, #2813) [Link]

Gotta second the workflow simplicity. Add, branch, commit, merge, status, and occasionally resolve, diff, push are all that has been needed for shared sysadmin stuff like puppet configs. Our database folks use bzr for their stuff, usually small independent reporting tools. Also second the branch per directory layout, and everything being just a branch. KISS.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds