[PD-dev] branch names (was Re: figuring out how to get everything merged)

IOhannes m zmoelnig zmoelnig at iem.at
Mon Feb 6 09:44:36 CET 2023


On 2/5/23 22:37, Miller Puckette via Pd-dev wrote:
> Yep, I originally made a "0.53" branch but then messed it up so badly
> I had to start over - and thought it better to change the name to
> avoid confusion.

i see.
it seems like the "avoid confusion" did not utterly succeed though ;-)

in any case: while it is possible to have branches and tags use the same 
name, i think this is really going to be super-confusing, and should 
therefore be avoided.

e.g., i expect the 0.53-2 release to carry the "0.53-2" tag (just like 
the other releases), but it is somewhat unclear what i get when doing a 
"git checkout 0.53-2" (see PS).

i would therefore recommend to use some "namespace" for maintenance 
branches, e.g. "maintenance/0.53".

alternatively (and i like this better), is to just revert to your 
original name "<major>.<minor>" without the bugfix number (that is 
"0.53"). since Pd releases always have a bugfix number ("0.53-0") this 
shouldn't collide in practice.

as for "messing up beyond repair": in this case i would just fix the 
problems locally (abandoning the broken branch; starting anew with the 
nice name) and force-push and be done with it.
(in general "force-pushing" is frowned upon, but it's there for a 
purpose, and i think this purpose is to fix messed up things)

mgfadsr
IOhannes


PS: checking out with tags and branches...


usually, to checkout a release, you (well: I) do something like this:

```
$ git checkout 0.53-1
Note: switching to '0.53-1'.
[...]
HEAD is now at b2dcb6ce [...]
```

and when switching between branches:
```
$ git checkout 0.53
branch '0.53' set up to track 'origin/0.53'.
Switched to a new branch '0.53'
```

but if there's both a branch and a tag with the same name, i get:

```
$ git checkout 0.53-2
warning: refname '0.53-2' is ambiguous.
Switched to branch '0.53-2'
Your branch is up to date with 'origin/0.53-2'.
```

*or*

```
$ git checkout 0.53-2
Note: switching to '0.53-2'.
[...]
HEAD is now at 12345678 [...]
```

the last example gets me the "0.53-2" tag, whereas the former example 
gives me the "0.53-2" branch.
what i get depends on whether i have already a local branch.
so a 'git checkout FOO' gives you:
1. the local branch 'FOO'
2. if that doesn't exist, the tag 'FOO'
3. if that doesn't exist, the remove branch 'FOO'

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20230206/a40c0076/attachment.sig>


More information about the Pd-dev mailing list