Hello Daiki, > I wanted to express my motivation > behind the switch to using "git submodule" in gettext. That was not for > making upgrades easier, but for making change tracking easier. > ... That was making "git bisect" hard.
I'm not turning off git submodules in gettext. I'm also not suggesting not to use git submodules. Git submodules have their advantages - as well as their disadvantages. It's a trade-off. The gitsub.sh script supports projects with submodules as well as projects with no submodules (plain checkouts) in the *same* way. So that you don't have to remember different commands when working in gettext and in libunistring. Previously I had to remember that in some projects I have to do git pull; (cd gnulib && git pull) and in other projects git pull; git submodule update --recursive The gitsub.sh script's purpose is also to put control of git status back into the developer's hands. When there is an autogen.sh script or 'bootstrap' script or Makefile rules that moves the git checkout to a different commit than the one that I had picked, it makes it very hard to just *build* locally modified source code. Previously I had to do something like GNULIB_SRCDIR=`pwd`/gnulib ./autogen.sh --no-git which is an insanely complex way to achieve something that should be easy by default. I have just pushed a copy of gitsub.sh to gettext. Let me know if you have usability problems with it (after having read the updated HACKING file). Bruno