threads / discuss / 31700

"submodule" mistake and a problem

Subject: "submodule" mistake and a problem

## tl;dr

5 messages between Oct 1, 2012 and Oct 1, 2012.

replies: 4people: 3as markdown or json

Howard Miller· Oct 1, 2012, 10:41 UTC · lore
Hi,
I did this and now am confused/stuck...
- I have an existing (long standing) project in git with an upstream in github
- I added a subdirectory which I had forgotten was itself a git
project (i.e. it has its own .git directory)
- I committed the subdirectory (git add /path/to/subdir;  git commit -m ....)
- I pushed the latest version upstream
....at this point I realised that only the directory name had been pushed. SO...
- git rm /path/to/subdir resulted in fatal: pathspec
'/path/to/subdir/' did not match any files
- so I deleted it manually, re-copied the directory and removed its
.git directory

...I now cannot add or commit the directory. Git just ignores it. I have grepped and searched and kind find no reference to this directory anywhere. I am completely stumped.

Can anybody help? I don't want this to be a git subdirectory, I just want to be able to add the files (without the .git directory)

Cheers :)
Johannes Sixt· Oct 1, 2012, 11:42 UTC · re: Howard Miller · lore

Re: "submodule" mistake and a problem

Am 10/1/2012 12:41, schrieb Howard Miller:
Show 19 quoted lines
> - I have an existing (long standing) project in git with an upstream in github
> - I added a subdirectory which I had forgotten was itself a git
> project (i.e. it has its own .git directory)
> - I committed the subdirectory (git add /path/to/subdir;  git commit -m ....)
> - I pushed the latest version upstream
> 
> .....at this point I realised that only the directory name had been pushed. SO...
> 
> - git rm /path/to/subdir resulted in fatal: pathspec
> '/path/to/subdir/' did not match any files
> - so I deleted it manually, re-copied the directory and removed its
> ..git directory
> 
> ....I now cannot add or commit the directory. Git just ignores it. I
> have grepped and searched and kind find no reference to this directory
> anywhere. I am completely stumped.
> 
> Can anybody help? I don't want this to be a git subdirectory, I just
> want to be able to add the files (without the .git directory)
Perhaps:
  git rm -f --cached path/to/subdir   # remove from index, keep files
  git add path/to/subdir
-- Hannes
Howard Miller· Oct 1, 2012, 12:05 UTC · re: Johannes Sixt · lore

Re: "submodule" mistake and a problem

Show 7 quoted lines
>
> Perhaps:
>
>   git rm -f --cached path/to/subdir   # remove from index, keep files
>   git add path/to/subdir
>
> -- Hannes

Fantastic.... worked perfectly. I'll write that down somewhere for the next time I do it :)

Is there a better way of handling sub-modules like that? I've looked at git submodules but just got into more of a mess. It would be nice to push a project complete with a (git) submodule upstream but it seems tricky or impossible.

Thanks :)
Jens Lehmann· Oct 1, 2012, 16:40 UTC · re: Howard Miller · lore

Re: "submodule" mistake and a problem

Am 01.10.2012 14:05, schrieb Howard Miller:
Show 15 quoted lines
>>
>> Perhaps:
>>
>>   git rm -f --cached path/to/subdir   # remove from index, keep files
>>   git add path/to/subdir
>>
>> -- Hannes
> 
> Fantastic.... worked perfectly.  I'll write that down somewhere for
> the next time I do it :)
> 
> Is there a better way of handling sub-modules like that? I've looked
> at git submodules but just got into more of a mess. It would be nice
> to push a project complete with a (git) submodule upstream but it
> seems tricky or impossible.

Git submodules are distinct repositories by design, so you'd have to create an upstream repository for the submodule too to make that work. But I have the impression that you want to import another repository into a directory of your repo, so maybe git subtree is what you want.

Howard Miller· Oct 1, 2012, 21:16 UTC · re: Jens Lehmann · lore

Re: "submodule" mistake and a problem

I was not aware of git subtree. I'll go and do some reading. Thanks for the pointer!

On 1 October 2012 17:40, Jens Lehmann <Jens.Lehmann@web.de> wrote:
Show 22 quoted lines
>
> Am 01.10.2012 14:05, schrieb Howard Miller:
> >>
> >> Perhaps:
> >>
> >>   git rm -f --cached path/to/subdir   # remove from index, keep files
> >>   git add path/to/subdir
> >>
> >> -- Hannes
> >
> > Fantastic.... worked perfectly.  I'll write that down somewhere for
> > the next time I do it :)
> >
> > Is there a better way of handling sub-modules like that? I've looked
> > at git submodules but just got into more of a mess. It would be nice
> > to push a project complete with a (git) submodule upstream but it
> > seems tricky or impossible.
>
> Git submodules are distinct repositories by design, so you'd have to
> create an upstream repository for the submodule too to make that work.
> But I have the impression that you want to import another repository
> into a directory of your repo, so maybe git subtree is what you want.

← back to recent threads