[haiku-development] Re: New way to access subversion for developers

  • From: "Ryan Leavengood" <leavengood@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 14 Jun 2008 17:21:49 -0400

On Sat, Jun 14, 2008 at 9:00 AM, Michael Lotz <mmlr@xxxxxxxx> wrote:
>
> Personally I vote in favor of SVN for the simple reason that it uses a
> human readable format. There is one revision that has one unique
> identifying number that can easily be interpreted. I have my working
> copy at r25941 and everyone having r25941 has the same (except for
> local changes obviously). This is just way easier to grasp than having
> "commit c82a22c39cbc32576f64f5c6b3f24b99ea8149c7" or "changeset:
> 4:b57f9a090b62". As I understand it with mercurial you can just ignore
> the changeset identifier though and I wouldn't know about git. I don't
> understand why you would want to tag your changesets individually with
> a non human readable number, when you could simply associate one
> revision with one changeset as SVN does.

FYI the reason the SHA1 hashes are used for revisions is because of
the decentralized nature. When everyone has their own repo, what does
r1234 mean? Your r1234 might be totally different than mine. You just
can't have a global atomic incremental revision number in
decentralized systems. But using SHA1 hashes that are calculable based
on what was contained in the commit allows for various repos to be
synced and compared. I also find it kind of annoying, but probably
just because I am used to SVN too. But it is just a necessary evil for
decentralized repos.

I did use Git for a bit at work and really liked it. I also was able
to get all my changes from Git back into SVN pretty easily (and that
was also after having made more changes in the SVN repo that were not
in the Git repo.)

> For me the SCM is just a tool. I don't want to mess with the SCM, I
> want to mess with the source. It has to manage keeping a repository
> that I can get changes from and where I can put changes into and where
> I can most easily identify a point in time and what lead to it. If I
> have a bug report that tells me the user is using Haiku r25662 and
> something doesn't work, I can remember this number and do an svn log or
> look up said revision online very easily. I would _never_ want this to
> be a GUID just for the impracticallity it brings. It cannot be noted
> down as quickly and certainly you cannot simply remember it. From the
> SCMs I used, and that's basically just CVS and SVN, I find SVN
> obviously the better choice. If another SCM can get the job done as
> easily as SVN and has more advantages (like not relying on a single
> host or not requiring locking the whole tree on update) I would
> probably vote for using it. So if someone could point out for me if you
> can get the easy single revision number schema with git or mercurial
> that would be helpful. I have read about both, but I haven't yet seen
> the same simplicity as with SVN.

Personally I found Git quite a bit better than SVN in a few ways, but
I want to use it in some other projects for a while before making any
recommendations for Haiku. But a lot of projects are using it now.

> I have no problem with keeping SVN as our SCM, but its usablility
> obviously depends on the reliability of the hosting. So instead of just
> switching SCMs I'd first go with switching hosts to a more reliable
> service.

In general I agree that this change from Berlios is annoying. With our
giant repo though, I am not sure what our options are. Either way I
hope someone is making a backup of the while repo occasionally.

Ryan

Other related posts: