Discussion:
darcs support
Guillaume Hoffmann
2016-02-05 16:34:41 UTC
Permalink
Dear Meld hackers,

I see that since version 3.15, the Darcs version control system is no
longer supported, due to a change in the API of Meld, and the cost of
maintaining Darcs compatibility.

I'd like to propose rewriting Darcs support for Meld. Since the 2.10.3
release of Darcs, there exists a command `darcs whatsnew
--machine-readable`which is quite easy to parse.

One thing I would like to get right are file moves, which are natively
supported in Darcs. I saw that Meld supports file moves in Bazaar. Is
it a good idea to copy the Bazaar module and adapt it to Darcs?

Thanks!

Guillaume Hoffmann
Kai Willadsen
2016-02-05 21:11:30 UTC
Permalink
Post by Guillaume Hoffmann
Dear Meld hackers,
I see that since version 3.15, the Darcs version control system is no
longer supported, due to a change in the API of Meld, and the cost of
maintaining Darcs compatibility.
I'd like to propose rewriting Darcs support for Meld. Since the 2.10.3
release of Darcs, there exists a command `darcs whatsnew
--machine-readable`which is quite easy to parse.
This would be great! I'd be happy to answer any questions you have
doing the reimplementation as well.
Post by Guillaume Hoffmann
One thing I would like to get right are file moves, which are natively
supported in Darcs. I saw that Meld supports file moves in Bazaar. Is
it a good idea to copy the Bazaar module and adapt it to Darcs?
Generally speaking the git module is the most thorough and best
maintained, so when getting basic support correct that's where I'd
look. However, it also implements a lot of optional API that the other
modules don't, so it depends how much of that you're interested in
implementing.

For getting the file move annotations correct, I think the Bazaar
module is your only source of inspiration.

cheers,
Kai
Guillaume Hoffmann
2016-02-12 17:26:08 UTC
Permalink
Hi Kai,

thanks for the help, I have a working version of a darcs module, I'm
just going to attach it here for the moment.

So far I tried it with various scenarios with renames + modifications
and it seems to be working fine.

If you want to try it you really need Darcs 2.10.3, which so far
hasn't reached Debian. Any style / code comments are welcome (my
Python is rusty and I looked into the Git, Bzr and Hg modules to write
this one).

Guillaume
Kai Willadsen
2016-02-13 20:43:25 UTC
Permalink
Post by Guillaume Hoffmann
Hi Kai,
thanks for the help, I have a working version of a darcs module, I'm
just going to attach it here for the moment.
So far I tried it with various scenarios with renames + modifications
and it seems to be working fine.
If you want to try it you really need Darcs 2.10.3, which so far
hasn't reached Debian. Any style / code comments are welcome (my
Python is rusty and I looked into the Git, Bzr and Hg modules to write
this one).
Awesome, that looks pretty good to me! I haven't been able to test it
out yet, but will shortly.

I do have a couple of small requests. Firstly, could you please submit
this as a git-format patch, just so I can easily get attribution, etc.
correct. Secondly, there's a small script in `test/` called
`testbzr.sh`; if you have a chance could you please write up something
similar for Darcs? The purpose is to have a script that I can run (as
a non-Darcs user) to get a local repository with a variety of
different states, etc. for rough testing purposes.

cheers,
Kai
Guillaume Hoffmann
2016-02-22 10:34:05 UTC
Permalink
Thanks for the feedback, later in march I will submit again as a
git-format patch with a test script.

Guillaume
Kai Willadsen
2016-02-22 20:55:16 UTC
Permalink
While I haven't committed to anything, I've been hoping to get Meld
3.16 done some time soon. If you'd like to get the Darcs support into
that release, then I'm happy to commit your patch pretty much as-is
now, and mark the Darcs support as 'experimental'. Something I can
apply with a changelog and attribution would be nice, but the test
script and other things are definitely optional, in the interests of
having 3.16 have better version control support.

cheers,
Kai
Post by Guillaume Hoffmann
Thanks for the feedback, later in march I will submit again as a
git-format patch with a test script.
Guillaume
Guillaume Hoffmann
2016-03-02 18:56:39 UTC
Permalink
I'm sending a new version that checks that the user has a Darcs
version above 2.10.3 , and the test script (made following the
existing Bazaar one). When I have more time I'll submit it as a
git-format patch.

Guillaume
Post by Kai Willadsen
While I haven't committed to anything, I've been hoping to get Meld
3.16 done some time soon. If you'd like to get the Darcs support into
that release, then I'm happy to commit your patch pretty much as-is
now, and mark the Darcs support as 'experimental'. Something I can
apply with a changelog and attribution would be nice, but the test
script and other things are definitely optional, in the interests of
having 3.16 have better version control support.
cheers,
Kai
Post by Guillaume Hoffmann
Thanks for the feedback, later in march I will submit again as a
git-format patch with a test script.
Guillaume
Kai Willadsen
2016-03-15 20:21:05 UTC
Permalink
Post by Guillaume Hoffmann
I'm sending a new version that checks that the user has a Darcs
version above 2.10.3 , and the test script (made following the
existing Bazaar one). When I have more time I'll submit it as a
git-format patch.
No need to worry about that; I've just pushed these changes in master.
Thanks very much for the patches!

At this point I'm a little hesitant to mark darcs as 'supported',
simply because the required version is so new that it's not currently
packaged (at least it's not in fedora rawhide or debian unstable). I
may just let it settle in the repo for a while and quietly document it
as a supported VCS after a couple of minor versions have passed and
it's had some use.

cheers,
Kai
Guillaume Hoffmann
2016-03-15 23:03:56 UTC
Permalink
Thanks for doing the commit, Kai.

Indeed darcs 2.10.3 is not yet packaged in debian.
It should be within the next couple of months. When this happens I
will let you know.

Guillaume
Post by Kai Willadsen
Post by Guillaume Hoffmann
I'm sending a new version that checks that the user has a Darcs
version above 2.10.3 , and the test script (made following the
existing Bazaar one). When I have more time I'll submit it as a
git-format patch.
No need to worry about that; I've just pushed these changes in master.
Thanks very much for the patches!
At this point I'm a little hesitant to mark darcs as 'supported',
simply because the required version is so new that it's not currently
packaged (at least it's not in fedora rawhide or debian unstable). I
may just let it settle in the repo for a while and quietly document it
as a supported VCS after a couple of minor versions have passed and
it's had some use.
cheers,
Kai
Loading...