git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: newbie with broken workflow

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Apr 4, 2008, 00:05 UTC
Message-ID
<alpine.LNX.1.00.0804031957010.19665@iabervon.org>
In-Reply-To
<9d27c6320804031445p3fc80115n59218673dd587795@mail.gmail.com>
On Thu, 3 Apr 2008, James Kingston wrote:
Show 44 quoted lines
> I am a few days into git and have settled into a workflow that is
> apparently very broken, and I'd appreciate it if someone with a more
> experienced eye can point out where I went wrong.
> 
> The official SCM tool at my work is ClearCase Remote Client, and it's
> vile... pessimistic locking, huge bureaucracy just to create a branch
> (I love experimental branches), no licenses for the native client.  My
> plan was to use git (Git-1.5.4-preview20080202.exe) to track my
> clearcase view directory, and push changes into that repo when
> convenient from my working directory repo (clearcase makes
> non-checkedout files read only, which makes working directly in the
> view directory Ugly).
> 
> Here is a timeline of how I tried to do this:
> 
> /c>	cd /c/cc
> /c/cc> 	git init
> /c/cc> 	git add *
> /c/cc> 	git commit
> /c/cc> 	mkdir /c/wd
> /c/cc> 	cd /c/wd
> /c/wd>	git clone /c/cc
> /c/wd>	cd cc/
> /c/wd/cc>  ls
> /c/wd/cc>  vi config.ini
> /c/wd/cc>  git checkout -b config_changes
> /c/wd/cc>  git diff
> /c/wd/cc>  git add config.ini
> /c/wd/cc>  git commit
> /c/wd/cc>  git checkout master
> /c/wd/cc>  git merge config_changes
> /c/wd/cc>  vi config.ini
> /c/wd/cc>  git push /c/cc
> /c/wd/cc>  cd /c/cc
> /c/cc> 	vi config.ini # doesn't show the change made in experimental
> branch, though gitk shows the patch
> /c/cc> 	git status # says that config.ini has been modified
> /c/cc> 	git add config.ini # grasping as straws
> /c/cc> 	git commit # changes nothing, as far as I can tell
> /c/cc> 	git reset --hard #still changes nothing.  My diffs are there
> in the log, just out of reach
> 
> I have much to learn, but in the short term I just need to get those
> changes into clearcase so QA can pull them
So you should actually do:

/c/wd/cc> cd /c/cc /c/cc> git pull ../wd/cc

But wouldn't that fail, because the files are read-only?
I think you'd do:

/c/cc> git fetch ../wd/cc /c/cc> git diff --name-only HEAD FETCH_HEAD

Tell ClearCase you want to edit those files
/c/cc> git merge FETCH_HEAD
Commit your ClearCase stuff

Also, IIRC, the sort of normal workflow for dealing with foreign SCMs that need local working directories is actually to put them in .git/info/something, and use git diff to get the changes in each of your git commits and git apply (using it like "patch", but smarter) to modify the working directory.

	-Daniel
*This .sig left intentionally blank*
Previous: James KingstonNext: James Kingston
Message 4 of 6 in “newbie with broken workflow”
  1. James KingstonApr 3, 2008
  2. Santi BéjarApr 3, 2008
  3. James KingstonApr 3, 2008
  4. Daniel BarkalowApr 4, 2008
  5. James KingstonApr 4, 2008
  6. Daniel BarkalowApr 4, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.