Thread (16 messages) flat view 16 messages, 4 authors, 2016-06-15

Re: any way to apply tag across all branches in repository?

From: Brandon Casey <hidden>
Date: 2016-06-15 22:46:48

Chris Friesen wrote:
Brandon Casey wrote:
quoted
If I understand you correctly, you are doing your primary development on
the "main" branch and then merging this into the architecture specific
branches which contain additional architecture specific changes.
Correct.
quoted
All you need to do is tag the "main" branch.  Actually, you are tagging
the commit that the branch currently points at.  When this branch is
merged into the other branches, they will also contain this commit, and
'git describe' will use the tag you created when generating the version
string.
I think this would work if the most recent commit is on the main branch.

However, if I make a change on the arch-specific branch, then tag the
main branch and merge it into the arch-specific branch, git tells me
the arch-specific branch is already up-to-date and the tag doesn't
get propagated.
Tags aren't versioned.  They exist outside of the branch namespace.
So merging doesn't have any direct effect on tags.  It is the _commits_
that are merged in (which the tags point to).  If you have already
merged the main branch into the arch-specific branch, then there is
nothing else for git to do.  Your repository looks something like this
graph:

    --o--o---o---o---o---o--o   "arch"
     /                  /
   -o--o---o---o---o---o        "main"
                       |
                      my_tag

When you merge "main" into "arch", the "main" DAG* becomes a part of the
"arch" DAG.  The tag points to a specific commit, which represents a state
of the DAG, which is also now part of the "arch" DAG.

The output of 'git describe $arch_branch' will likely change after you
create the tag though.

Try these commands:

  git describe $main
  git describe $arch_branch
  git tag -m 'a test tag' my_tag $main
  git describe $main
  git describe $arch_branch

-brandon

* DAG - directed acyclic graph
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help