While using git as a useful feature using branches. A software I am using implemented a new feature Support for Xrandr the main developer created a branch for it called ta/randr. As a git user I was not familar with switching branches. I can not even say I was aware of it in SVN or CVS or RCS. Never used it becasuse there was no such a use case for me. I have always been using either $HEAD or some older version of the source tree. Since I am keen to try out the new piece of software on FVWM (software I am speaking of) I needed to switch to this particular branch. This feature was not available yet on the $HEAD. A git fetch outputlooked like this:
user@host % git fetch
remote: Counting objects: 519, done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 519 (delta 344), reused 327 (delta 327), pack-reused 153
Receiving objects: 100% (519/519), 307.31 KiB | 507.00 KiB/s, done.
Resolving deltas: 100% (406/406), completed with 188 local objects.
From https://github.com/fvwmorg/fvwm
d5d07f5..e74f913 master -> origin/master
* [new branch] coverity_scan -> origin/coverity_scan
* [new branch] default-config -> origin/default-config
* [new branch] ta/ar-warnings -> origin/ta/ar-warnings
* [new branch] ta/clang-extra -> origin/ta/clang-extra
3001ee4..4afa9ce ta/deprecate -> origin/ta/deprecate
* [new branch] ta/developer-doc -> origin/ta/developer-doc
+ e67dd0c...fade120 ta/docs-to-md -> origin/ta/docs-to-md (forced update)
* [new branch] ta/install -> origin/ta/install
+ 1ef3ea9...d0150f4 ta/multiborder -> origin/ta/multiborder (forced update)
* [new branch] ta/new-config-format -> origin/ta/new-config-format
* [new branch] ta/possible-fix-icon-pr -> origin/ta/possible-fix-icon-pr
* [new branch] ta/randr -> origin/ta/randr
* [new branch] ta/remove-common-calls -> origin/ta/remove-common-calls
* [new branch] ta/silence-clang-warnings -> origin/ta/silence-clang-warnings
efc364b..bedab2e ta/todo -> origin/ta/todo
* [new branch] ta/travis-sudo-false -> origin/ta/travis-sudo-false
* [new branch] ta/usedecor-macro -> origin/ta/usedecor-macro
To show all avaliable branches use following command:
user@host % git branch -av
* master d5d07f5 [behind 30] Fix startup ordering for AllocColorset
remotes/origin/HEAD -> origin/master
remotes/origin/coverity_scan f1b824b Travis CI: Coverity
remotes/origin/default-config e37061c Remove FVWM_USERDIR from config
remotes/origin/master e74f913 Add note about how to merge pull-requests
remotes/origin/new-parser 50622b5 Fixup mvwm-specific fallout
remotes/origin/ta/deprecate 4afa9ce Remove FvwmDebug
remotes/origin/ta/developer-doc e74f913 Add note about how to merge pull-requests
remotes/origin/ta/docs-to-md fade120 Manpage: FvwmBanner
remotes/origin/ta/fix-colorset-alloc d5d07f5 Fix startup ordering for AllocColorset
remotes/origin/ta/fvwmdx 7ea056f FvwmDX: a module for per-screen window-switching
remotes/origin/ta/new-config-format 5026166 config: Add crude heredoc parser example
remotes/origin/ta/new-default-config 4f57c0a Few tweaks: update programs, etc.
remotes/origin/ta/possible-fix-icon-pr 0c5211e Expose: don't flush accumulated events
remotes/origin/ta/randr fb678c2 TEMP: debug
To switch to the desired branch use following command: (here ta/randr)
user@host % git checkout origin/ta/randr
Verfiy on which branch currently working on
user@host % git branch -v
* (HEAD detached at origin/ta/randr) fb678c2 TEMP: debug
master e74f913 Add note about how to merge pull-requests
A last note regarding autoconf, sometimes while running autoconf one can receive such a error message:
user@host % autoconf
configure.ac:20: error: possibly undefined macro: AM_INIT_AUTOMAKE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:21: error: possibly undefined macro: AM_SILENT_RULES
This can be fixed by running autoreconf --install option
user@host % autoreconf --install
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /usr/bin/automake-1.15 line 3936.
configure.ac:159: installing 'etc/compile'
configure.ac:265: installing 'etc/config.guess'
configure.ac:265: installing 'etc/config.sub'
configure.ac:20: installing 'etc/install-sh'
configure.ac:20: installing 'etc/missing'
bin/Makefile.am: installing 'etc/depcomp'