Diff for /wikisrc/mailing-lists/tech-repository.mdwn between versions 1.6 and 1.9

version 1.6, 2010/01/20 13:05:55 version 1.9, 2010/11/08 12:21:30
Line 20  Please add/correct. Line 20  Please add/correct.
   
 ## Experiences in using the software  ## Experiences in using the software
   
   ### Experiences with Fossil
   
   #### Aleksej Saushev (asau)
   
   I started using it before conversion tool were available
   (basically it isn't available yet, to my knowledge Joerg is working on it),
   in addition I wanted to start as soon as possible
   and to try operation with no conversion tool available.
   Thus I've tried to simulate working with "vendor branches".
   
   For now Fossil lacks some essential features and has other severe problems:
   1. No support for vendor branches.
   1. It is impossible to merge between trees growing from the very root.
   The initial commit is too special, this prevents using these trees for vendor branches.
   1. There's no support for importing vendor source,
   even "addremove" command isn't in trunk at the time of writing.
   1. Merge state sticks. You can't undo it.
   1. You can't amend your source when you've just merged, you are forced to commit after merge.
   1. You can't tune diff command to ignore RCS keywords.
   1. You can't diff single file between two given versions.
   1. There's no way to change commit messages.
   1. There's no documented way to select commit messages of current branch, or branch by given commit id.
   Or there's a bug preventing it.
   1. Commands are underdocumented, usage messages don't list many available options.
   This applies to trunk at least, there's a branch that states documentation as its goal.
   1. There's no convenient way to look at commit contents: files affected, diff.
   
   Some of above problems are reported.
   
   Note, all problems above are usability problems, I didn't explore e.g. scalability,
   Joerg did and had problems, but this is another story.
   
 ### Experiences with git  ### Experiences with git
   
 please fill in  please fill in
Line 28  please fill in Line 60  please fill in
   
 please fill in  please fill in
   
   ### Experiences with Bazaar
   
   #### Jonathan Perkin (sketch)
   
   We use bzr at work (MySQL), and while it has a number of problems, it does make dev work easy.
   
   The Good
   
   * easy to use
   * shared repositories keep local disk usage down
   * commercial backing (Canonical)
   * cross-platform (works on Windows)
   * numerous GUI available
   
   The Bad:
   
   * slow
   * requires python
   
   The Ugly:
   
   * can be really slow
   * changing repository formats is a hassle
   
   A basic example workflow
   
   <pre>
   # create a local shared repository. all objects are held in a .bzr sub-directory, with branches essentially a lightweight checkout
   $ bzr init-repo bzr
   $ cd bzr
   
   # fetch HEAD, will take a long time, depending on connectivity
   $ bzr branch bzr+ssh://bzr.netbsd.org/netbsd-trunk
   
   # fetch netbsd-5, as we already have the majority of the code in netbsd-trunk (and therefore .bzr), this takes a fraction of the time
   $ bzr branch bzr+ssh://bzr.netbsd.org//netbsd-5
   
   # ok, let's do some dev work
   $ bzr branch netbsd-trunk netbsd-trunk-sketch-fix-msk
   $ cd netbsd-trunk-sketch-fix-msk; hack hack hack
   
   # the usual cycle of hack/commit/merge
   $ bzr diff # show uncommitted diffs
   $ bzr commit # commit to local clone
   $ bzr merge ../netbsd-trunk # update clone to latest local trunk, OR
   $ bzr merge bzr+ssh://bzr.netbsd.org/netbsd-trunk # merge directly from upstream
   
   # publish our tree for others to review/hack on
   $ bzr push bzr+ssh://bzr.netbsd.org/netbsd-trunk-fix-msk
   
   # got reviewed/tested, let's push it
   $ bzr merge bzr+ssh://bzr.netbsd.org/netbsd-trunk
   $ bzr missing bzr+ssh://bzr.netbsd.org/netbsd-trunk # show changeset differences
   $ bzr push bzr+ssh://bzr.netbsd.org/netbsd-trunk
   </pre>
   
   I personally find this approach a lot more natural than git's way of managing branches itself inside a single working directory.
   
 ***  ***
   
 ## Conversion experiences  ## Conversion experiences
Line 100  Next try: hg convert on pkgsrc Line 190  Next try: hg convert on pkgsrc
 helps it to cope with the output of cvs rlog -N -r1.66 pkgsrc/databases/rrdtool/Makefile (that's the easy one)  helps it to cope with the output of cvs rlog -N -r1.66 pkgsrc/databases/rrdtool/Makefile (that's the easy one)
 but then it tries to parse the output of (eg) cvs rlog -N -r1.19 pkgsrc/graphics/dcraw/Makefile and it's not clear  but then it tries to parse the output of (eg) cvs rlog -N -r1.19 pkgsrc/graphics/dcraw/Makefile and it's not clear
 to me how it could hope to get that one right just from cvs rlog, and all alternatives are going to be rather tedious  to me how it could hope to get that one right just from cvs rlog, and all alternatives are going to be rather tedious
 and I'm still not planning to learn Python this week.  and I'm still not planning to learn Python this week. If you feel more energetic, feel free to hand over patches.

Removed from v.1.6  
changed lines
  Added in v.1.9


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb