Yes, branches/tags are essentially renamed. All commit hashes stay the
same. I've made the changes and pushed a test repo to my github:

  https://github.com/stevedlawrence/daffodil-new.git

If you want to test this, you should be able to add this as a new remote
and see the new branch names/tags.

This renames all version branches to 'support/vN.N.x', all release tags
to 'rel/vN.N.N', and all pre-release tags to 'vN.N.N'. Tags are also now
signed in accordance with the tag/branch workflow.

If this looks good, I can push it to the ASF repo and we can start
transitioning to that + github for the new workflow.

- Steve

On 10/25/2017 01:26 AM, Mike Beckerle wrote:
> So branches can just be renamed right?
> 
> What I care about is the branches and the commit hashes. If those are 
> preserved, then the tags don't matter much to me.
> 
> 
> 
> -------- Original message --------
> From: Steve Lawrence <[email protected]>
> Date: 10/24/17 12:01 PM (GMT-07:00)
> To: [email protected], Mike Beckerle <[email protected]>
> Subject: Re: Import of Code to ASF Infrastructure
> 
> The problem is you really can't delete tags in git, so now is really the
> best time to do it since we're moving repos.
> 
> Is the disruption having to move your local review branches from one
> repo to another? If so, I think I found a decent solution to make a
> clean cut over with just a handful of commands:
> 
> Make sure all your changes are committed to a review branch in your old
> repo. Move your current repo to a backup location:
> 
>  $ mv daffodil.git daffodil-ncsa.git
> 
> Now clone the ASF git repo that will contain only the new tags/branches,
> this will be the new git repo:
> 
>   $ git clone ${PATH_TO_APCHE_REPO_TBD} daffodil.git
>   $ cd daffodil.git
> 
> Add your local backup daffodil NCSA repo as a remote, specifying no tags
> and all the review branches you want via the -t option. There should be
> one -t option for each branch:
> 
>   $ git remote add --no-tags -t review-sdl-123 -t review-sdl-456 -t
> review-sdl-789 local-daffodil-ncsa ../daffodil-ncsa.git/
>   $ git fetch local-daffodil-ncsa
> 
> Create a local branch for each of the fetched review branches:
> 
>   $ for BRANCH in `git branch -r`; do git branch `echo $BRANCH | cut -d/
> -f2` $BRANCH; done
> 
> Now remove the old local-daffodil-ncsa remote:
> 
>   $ git remote remove local-daffodil-ncsa
> 
> You should just be left with all the new tags/branches and your review
> branches.
> 
> Does that seem like a reasonable way to cutover without too much
> disruption? I could turn this into a script that will do the cutover
> automatically if that would make things easier?
> 
> - Steve
> 
> On 10/24/2017 01:19 PM, Mike Beckerle wrote:
>> This will be massively disruptive to me.  I have like 7 or 8 outstanding 
>> branches right now.
>>
>>
>> How about we add the new tags and branches and leave the old ones there for 
>> now.
>>
>>
>>
>> ________________________________
>> From: Steve Lawrence <[email protected]>
>> Sent: Tuesday, October 24, 2017 11:48:35 AM
>> To: [email protected]
>> Subject: Import of Code to ASF Infrastructure
>>
>> An issue came up on the Apache Legal bug tracker that has a similar
>> situation to ours.
>>
>> https://issues.apache.org/jira/browse/LEGAL-339
>>
>> Apache Heron is in a similar stage to us in incubation. They are working
>> to transition over to the ASF infrastructure. Their original code is
>> under a permissive license (Apache v2), but they do not have SGAs in
>> place yet, and they wanted to know if they could import their code to
>> ASF. The result of the issue is that since the code is under a
>> permissive license, it is okay to import the code to the ASF git, and
>> just not change any license headers yet. Once the remaining SGAs are in
>> place we can change the headers. We can even do releases, but it will
>> prevent graduation, but I suspect we'll have SGAs in place before our
>> first ASF release.
>>
>> Related, I was thinking that if we were to do it, now would be a good
>> time to rename all the old branches and tags to use the new Branch & Tag
>> workflow [1] so that all future tags/branch are consistent with the old.
>> This would just mean that all rc/alpha tags would have a 'v' prepended
>> (e.g. 1.0.0-rc1 -> v1.0.0-rc1), all other tags have 'rel/v' (e.g. 1.0.0
>> -> rel/v1.0.0), and all branches have a 'support/v' prepended and the
>> last digit becomes an 'x' (e.g 1.0.0 -> support/v1.0.x). This won't
>> change what the tags/branches point to, just changes their names.
>>
>> Since this would mean the tags change (which git tends to avoid), this
>> will mean that we should all clone the new repo and work out of that, no
>> longer using our old clones. This will ensure no old tags stick around.
>> For any ongoing work, something like git format-patch would be a good
>> method to get the changes to the new repo.
>>
>> Any thoughts/concerns with this?
>>
>> - Steve
>>
>>
>> [1]
>> https://cwiki.apache.org/confluence/display/DAFFODIL/Branch+and+Tag+Workflow
>>
> 
> 

Reply via email to