You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by Boris Kolpackov <bo...@codesynthesis.com> on 2019/12/16 10:08:02 UTC

Git migration

I've finally got around to converting the Xerces-C++ SVN repository
to Git and the result is available for inspection here:

https://github.com/boris-kolpackov/xerces-c

The conversion log (specifically, the git-svn fetch log) is available
here:

https://codesynthesis.com/~boris/tmp/xerces-svn-git-fetch-log.txt.gz

Overall, there are no errors while all the warnings (grep for 'W:')
appear to be harmless. I can also provide the detailed conversion
procedure and commands if anyone is interested.

Please let me know if you see any issues. And if everything looks
good, I would like to proceed with pushing this to its "official"
place and then requesting that the SVN repository be made read-only.

I will convert the admin branch (into a separate Git repository, as
agreed) after that.

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration [PLEASE READ]

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Roger Leigh <rl...@codelibre.net> writes:

> I've opened an initial pull request on GitHub here:
> https://github.com/apache/xerces-c/pull/1
> 
> I didn't see Scott on GitHub, so I added Boris as a reviewer. This change is
> basically to ensure that we have sanity in line ending conventions when
> making changes with contributors from different platforms, as well as
> properly excluding generated content from accidentally being added under
> source control. I wanted to get this initial change in before starting to
> make any further changes with git.
> 
> Are these changes generally acceptable?

Yes, they are very much needed and appreciated, thanks for jumping in
on this.

The PR looks good to me but before we proceed we need to "officially"
switch to Git and mark SVN read-only.

Let's take another 24 hours and if I don't hear any objections or
requests for more time, I am going to ask Infra to mark SVN read-
only at which point Git will be open for business.


> We previously had Travis and AppVeyor CI testing working with the old GitHub
> repository. Would it be possible to re-enable them for the new repository?

When I tried to create the xerces-c.git repository in Apache GitBox I
couldn't because of this mirror. The options (according to Infra) were
to kill it or use it as the starting point. I asked the infra to kill it
since it was out-of-date and also I didn't perform any verifications on
it.

Sorry if this also killed some CI integration. If you know how to re-
enable it, I have no objections (I doubt anyone else would).

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by Roger Leigh <rl...@codelibre.net>.
On 10/01/2020 13:57, Boris Kolpackov wrote:

> I've created the xerces-c.git repository and pushed the conversion
> result with the latest changes:
>
> https://gitbox.apache.org/repos/asf?p=xerces-c.git
>
> https://github.com/apache/xerces-c.git

Super, thanks for all your work on this!


I've opened an initial pull request on GitHub here: 
https://github.com/apache/xerces-c/pull/1

I didn't see Scott on GitHub, so I added Boris as a reviewer. This 
change is basically to ensure that we have sanity in line ending 
conventions when making changes with contributors from different 
platforms, as well as properly excluding generated content from 
accidentally being added under source control.  I wanted to get this 
initial change in before starting to make any further changes with git.

Are these changes generally acceptable?


We previously had Travis and AppVeyor CI testing working with the old 
GitHub repository.  Would it be possible to re-enable them for the new 
repository?


Best wishes,

Roger


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
On 1/11/20, 1:35 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:

> Are you all setup for write access to xerces-c.git? Can you maybe
> push and delete a test branch just to confirm?

Go ahead and make the switch over to git, and if I have any access issues I'll sort them out with INFRA. I did most/all of my patching work for a bit anyway.

-- Scott



Re: Git migration

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Cantor, Scott <ca...@osu.edu> writes:

> It's just https://gitbox.apache.org/repos/asf/reponame.git

Got it, thanks.

Are you all setup for write access to xerces-c.git? Can you maybe
push and delete a test branch just to confirm?

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
On 1/10/20, 8:57 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:

> I didn't try the GitBox way (nor could I find the URL to clone via
> this method). 

It's just https://gitbox.apache.org/repos/asf/reponame.git

Thanks,
-- Scott




---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
I've created the xerces-c.git repository and pushed the conversion
result with the latest changes:

https://gitbox.apache.org/repos/asf?p=xerces-c.git

https://github.com/apache/xerces-c.git

If everyone is happy, I can ask Infra to mark the SVN repository
read-only (until that happens, please treat the Git repository
read-only so that we don't commit in both places).

A bit of heads-up on the Git access: you can either do it via GitHub
or via the Apache GitBox (so it's a mirror with both sides writable).

I didn't try the GitBox way (nor could I find the URL to clone via
this method). 

For GitHub access, you will need to link your Apache account with
your GitHub account as described here:

https://gitbox.apache.org/setup/

Once this is done, I was able to push to the repository. Note that
some steps take several hours to "activate".

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
On 12/23/19, 4:01 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:

>   So my preference would be to leave things as is (i.e., no
>   expansion) and maybe clean $Id$ strings out later (we also
>   have a few "CVS $Revision$ $Date$" anachronisms).

+1, we've done the same, it's not a high priority thing.

> Other than that, the copies are identical.

Thank you for checking, sorry I didn't get around to it.

If you're comfortable with it, that's fine with me.

-- Scott




Re: Git migration

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Cantor, Scott <ca...@osu.edu> writes:

> On 12/20/19, 4:21 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:
> 
> > Wouldn't checking out corresponding tags from Git and SVN and then
> > running diff on the directories (ignoring .git/ and .svn/) be
> > sufficient?
> 
> Yes, either way.

Ok, I went through this exercise for trunk as well as the 3.2.2,
3.1.4, 3.0.1, and 2.8.0 tags. There are two classes of differences:

1. Empty directories (created by SVN, ignored by Git).

   I think this is an improvement.

2. $Id$ expansion.

   There is a way to get a similar behavior (but not the same) with
   Git but that would require committing .gitattributes into every
   branch/tag.

   Also, the consensus seems to be that this is a bad idea (Linus
   calls it "totally idiotic" ;-)).

   So my preference would be to leave things as is (i.e., no
   expansion) and maybe clean $Id$ strings out later (we also
   have a few "CVS $Revision$ $Date$" anachronisms).

   For quick background on this (as well as what "not the same" above
   exactly means), see:
   
   https://stackoverflow.com/questions/384108/moving-from-cvs-to-git-id-equivalent
   https://stackoverflow.com/questions/1792838/how-do-i-enable-the-ident-string-for-a-git-repository

Other than that, the copies are identical.

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
On 12/20/19, 4:21 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:

> Wouldn't checking out corresponding tags from Git and SVN and then
> running diff on the directories (ignoring .git/ and .svn/) be
> sufficient?

Yes, either way.

-- Scott




---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Cantor, Scott <ca...@osu.edu> writes:

> I don't know enough to say what the cherry-pick warnings mean, [...]

I did a bit of googling on this one and it appears to be harmless.


> For us it took weeks of time over months to get it right, but we don't
> have that kind of time.

Right. I did spend a couple of days on this interspersed with 24h+
re-fetches of the whole history. So some pain and frustration has
been experienced, if that's what you are looking for ;-)


> The one issue I did see right away is that the old tags all get
> turned into a stubby branches, which we worked around in our
> conversion, but I asked and it's apparently not trivial to fix,
> so probably not worth it here unless others care strongly.

Yes, apparently SVN tags are full branches (whatever that means).
In particular, the tag commits are not part of the trunk history.
So I've created a corresponding Git branch for each SVN tag and
then Git-tagged the tip of each branch. The nice thing about this
approach is that the complete commit history is preserved so if
later anyone wants to do some more advanced surgery on this, they
have all the parts.


> Eyeballing it looks sound, but I think we need to do some selective
> "make dist"s on the tags and do some file comparisons, aside from
> the autotools files that will be different by definition.

Wouldn't checking out corresponding tags from Git and SVN and then
running diff on the directories (ignoring .git/ and .svn/) be
sufficient?

I think the only case where this might not be equivalent is if we
run svn in our build scripts, which I don't think we do (but if
we do do that, I don't think it's worth spending time upfront
fixing that -- I find it unlikely we will ever need to do anything
like this).

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
On 12/16/19, 5:08 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:

> Overall, there are no errors while all the warnings (grep for 'W:')
> appear to be harmless. I can also provide the detailed conversion
> procedure and commands if anyone is interested.

I don't know enough to say what the cherry-pick warnings mean, but I asked a colleague to take a look. He did a massive svn to git conversion of a large number of mixed language projects that dated all the way to RCS, so it was a major lift. For us it took weeks of time over months to get it right, but we don't have that kind of time.

The one issue I did see right away is that the old tags all get turned into a stubby branches, which we worked around in our conversion, but I asked and it's apparently not trivial to fix, so probably not worth it here unless others care strongly.

> Please let me know if you see any issues. And if everything looks
> good, I would like to proceed with pushing this to its "official"
> place and then requesting that the SVN repository be made read-only.

Eyeballing it looks sound, but I think we need to do some selective "make dist"s on the tags and do some file comparisons, aside from the autotools files that will be different by definition.

To save some time, I'm willing to check a couple of the 3.2 tags if others might take some older ones.

-- Scott



Re: Git migration

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Cantor, Scott <ca...@osu.edu> writes:

> On 12/16/19, 5:08 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:
> 
> > Please let me know if you see any issues. And if everything looks
> > good, I would like to proceed with pushing this to its "official"
> > place and then requesting that the SVN repository be made read-only.
> 
> Obviously I just had to commit the advisory and web site update; can
> we set a clear freeze date for a final conversion so I don't get in
> your way?

It's not difficult for me to pull in new changes (I've updated the Git
repo with your commit) so I don't think we need this yet. But once we
are ready to switch, we can do a freeze.

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
On 12/16/19, 5:08 AM, "Boris Kolpackov" <bo...@codesynthesis.com> wrote:

> I've finally got around to converting the Xerces-C++ SVN repository
> to Git and the result is available for inspection here:

I'll review this week, thanks.

> Please let me know if you see any issues. And if everything looks
> good, I would like to proceed with pushing this to its "official"
> place and then requesting that the SVN repository be made read-only.

Obviously I just had to commit the advisory and web site update; can we set a clear freeze date for a final conversion so I don't get in your way?

-- Scott



---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by "Cantor, Scott" <ca...@osu.edu>.
> Where would I create such a PR, given that the
> SVN situation is a little bit unclear right now?

All contributions should be in JIRA issues with an appropriate license or contribution agreement on file.
 
-- Scott




Re: Git migration

Posted by Vincent Ulitzsch <vi...@gmail.com>.
Dear All,

I reopened the PR here:

https://github.com/apache/xerces-c/pull/2

Cheers,
Vincent

On 12/30/19 2:43 PM, Boris Kolpackov wrote:
> Vincent Ulitzsch <vi...@gmail.com> writes:
>
>> Bhargava and I sent a PR your way using this new git:
>> https://github.com/boris-kolpackov/xerces-c/pull/1
>> However, it seems to me that the new git might not be the right place
>> for this PR.
> Correct, this is a temporary repository that I published for everyone
> to check the SVN to Git migration.
>
>
>> Where would I create such a PR, given that the SVN situation is a
>> little bit unclear right now?
> I would suggest that you wait until the migration is complete (as
> will be evident from the posts on this mailing list). Once this is
> done, it will hopefully be clear what the best place for this PR is.

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Vincent Ulitzsch <vi...@gmail.com> writes:

> Bhargava and I sent a PR your way using this new git:
> https://github.com/boris-kolpackov/xerces-c/pull/1
> However, it seems to me that the new git might not be the right place
> for this PR.

Correct, this is a temporary repository that I published for everyone
to check the SVN to Git migration.


> Where would I create such a PR, given that the SVN situation is a
> little bit unclear right now?

I would suggest that you wait until the migration is complete (as
will be evident from the posts on this mailing list). Once this is
done, it will hopefully be clear what the best place for this PR is.

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Git migration

Posted by Vincent Ulitzsch <vi...@gmail.com>.
Dear Boris,

Bhargava and I sent a PR your way using this new git:
https://github.com/boris-kolpackov/xerces-c/pull/1
However, it seems to me that the new git might not be the right place
for this PR. Where would I create such a PR, given that the
SVN situation is a little bit unclear right now?

Cheers,
Vincent

On 12/16/19 11:08 AM, Boris Kolpackov wrote:
> I've finally got around to converting the Xerces-C++ SVN repository
> to Git and the result is available for inspection here:
>
> https://github.com/boris-kolpackov/xerces-c
>
> The conversion log (specifically, the git-svn fetch log) is available
> here:
>
> https://codesynthesis.com/~boris/tmp/xerces-svn-git-fetch-log.txt.gz
>
> Overall, there are no errors while all the warnings (grep for 'W:')
> appear to be harmless. I can also provide the detailed conversion
> procedure and commands if anyone is interested.
>
> Please let me know if you see any issues. And if everything looks
> good, I would like to proceed with pushing this to its "official"
> place and then requesting that the SVN repository be made read-only.
>
> I will convert the admin branch (into a separate Git repository, as
> agreed) after that.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
> For additional commands, e-mail: c-dev-help@xerces.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org