On 2008-March-14 , at 21:05 , Bryce Harrington wrote:
On Fri, Mar 14, 2008 at 02:07:29PM +0100, jiho wrote:
On 2008-March-14 , at 13:04 , Aaron Spike wrote:
[..]. We can try these tools now, without switching over the entire repo. [..]
However, I still think the best solution would be to switch completely: [...]
I agree this is the right time to talk about switching the repo. Not only to upgrade from SVN, but because SourceForge's SVN service is imperfect (this last month in the middle of our release they expired everyone's SVN passwords with no notice or reason given).
- TextMate bundle
(What is TextMate?)
TextMate is a (very very cool ;) ) editor for OS X: http://macromates.com/ The reason why I mentioned it is because, first, it is very popular and, second, since there is no real equivalent to TortoiseSVN on OS X, people usually rely on their editor/IDE to provide an interface to version control.
<digression> TextMate provides an interface for SVN, Git and Mercurial, through collaboratively developed bundles, nothing for bazaar (this project is quite odd: the editor itself is shareware and definitely closed but the development of functionality goes through language bundles which are community driven. In this respect it is very much like any average OS project). However I may be able to come up with something for bazaar in June: the basic functionality is made available by TextMate core. What's missing are a nice set of scripts to glue all that together, and, this, I know how to do iven a little time ;) Fore those wondering, there is a windows equivalent of TM: E http://www.e-texteditor.com/ . Sadly, nothing on linux but "port to linux" is probably the N# 1 request on TextMate's ticket system. I must admit that this is also the N# 1 reason that made me buy another mac and stick on OS X instead of switching to Ubuntu. It's that good. </digression>
OK, summary and comments:
-- GIT ---------------------------- + maybe a bit faster at commits + allows to stash away local changes to fix a small issue. probably useful when, in the middle of a large code change, one notices a local bug which does not have anything to do with the change -> not sure this is git-only + ability to follow chunk of codes around, without relying on file names. Probably useful from a refactoring point of view + probably the fastest growing user base => many tools + TextMate bundle
- git is designed with the Linux kernel's hierarchical workflow in mind (few 'push'ers to the central repos), so may require alteration in how Inkscape's workflow works (anyone of the numerous contributors can commit) -> this workflow may be particularly suited for the refactoring part though, it would force code review - we would need to set up and administer this ourselves -> anything moving us from sourceforge would be the same, wouldn't it? and moving from sourceforge seemed like a good thing (cf. you, above) - revisions are indicated with SHA's rather than numbers - commands dissimilar to what we're used to with svn (e.g., no 'git update') - have to git add all modified files before committing them (or resort to a non specific commit -a)
-- HG ----------------------------- + tortoiseHG + TextMate bundle
-- BZR ---------------------------- + already integrated in launchpad: http://doc.bazaar-vcs.org/bzr.dev/en/tutorials/using_bazaar_with_launchpad.h... + Associating branches to bugs + Associating branches to blueprints + Changes state of bugs in LP when committing in Bazaar + Web interface for creating branches quickly and easily + supports renames (could be considered a Bad by git users) + supports bundling changesets + tortoiseBZR + Fewer commands - makes it easier to learn -> suppressed built-in help since it is probably true for all of them (git help and man page are OK and I can't imagine that Hg does not have help) + Supports multiple workflows, including what we use for Inkscape (See http://bazaar-vcs.org/Workflows) + Many plugins -> not sure what this means + Easy administration. Mostly done through Launchpad, plus Bzr folks are available to help. + bzr uses numbers for revisions(e.g., 1, 2, 3.2, 63.3.5.9). bzr has UUIDs internally, but not needed in day-to-day use.
Bazaar looks very cool. Bu is there anything like stash in bzr? It is incredibly useful and I suspect it will be even more when people will start looking at the code in more detail during refactoring.
JiHO --- http://jo.irisson.free.fr/