<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br class=""><blockquote type="cite" class="">On 22 Jun 2015, at 17:48, Cantor, Scott <<a href="mailto:cantor.2@osu.edu" class="">cantor.2@osu.edu</a>> wrote:<br class=""><br class=""><blockquote type="cite" class="">What you're not necessarily obliged to do is push that branch anywhere. So<br class="">the closest equivalent to what we do today would be:<br class=""><br class="">* make a local branch<br class="">* do the work for the release on that branch<br class="">* tag it (probably with a signed tag if the releaser has a GPG key)<br class="">* push the tag<br class=""></blockquote><br class="">That's where I get lost. Seems like the tag is hanging in mid-air with no clear path to get to it from what's in the repository. At minimum I would think anything showing the structure of the tree would get confused.<br class=""></blockquote><div class=""><br class=""></div><div class="">It works more straightforwardly than you might think. I checked out the testing repo and did this:</div><div class=""><br class=""></div><div class="">* back off three revs from master and make a new local branch:</div><div class=""><br class=""></div><div class="">   git checkout -b localbranch HEAD^3</div><div class=""><br class=""></div><div class="">* edit the file newfile.txt a couple of times:</div><div class=""><br class=""></div><div class="">   vi newfile.txt<br class="">   git add newfile.txt<br class="">   git commit -m "along the branch"<br class="">   vi newfile.txt<br class="">   git add newfile.txt<br class="">   git commit -m "more along the branch"<br class=""><br class=""></div><div class="">* Make a local annotated tag:</div><div class=""><br class=""></div><div class="">   git tag -a mytag -m "this is an annotated tag"</div><div class=""><br class=""></div><div class="">* push that tag to the server:</div><div class=""><br class=""></div><div class="">[iay@srv-c701 testing]$ git push origin mytag</div><div class="">Counting objects: 9, done.<br class="">Compressing objects: 100% (5/5), done.<br class="">Writing objects: 100% (7/7), 672 bytes | 0 bytes/s, done.<br class="">Total 7 (delta 0), reused 0 (delta 0)<br class="">To git@git.shibboleth.net:testing<br class=""> * [new tag]         mytag -> mytag<br class=""><br class=""></div><div class="">Note that it pushed several objects. If you now pull a clone of the testing repo and use gitk --all, you'll see the attached structure. You can see that you've acquired knowledge of the tag (but not my local branch, because I did not push that ref), the structure and all of the commits that can be reached by any of the public refs.</div><div class=""><br class=""></div><div class="">    -- Ian<br class=""><br class=""><img apple-inline="yes" id="F589737D-B766-4ED5-ABF4-8E81A38A882E" height="136" width="446" apple-width="yes" apple-height="yes" src="cid:74501A47-D233-4B2E-A154-8AD58AC0588E@cs.iay.org.uk" class=""><br class=""><br class=""></div><br class=""></body></html>