[git-users] Remote differs from local. Wrong push?

2015-06-19 Thread fsaez
Hi all,

after a commit and push from my local branch to the remote one, I can see 
in the server (through the web page) that one of the committed files is 
broken. Differences shown in the commit are incompleted and the whole file 
is truncated. But if I look into my local file, everything is ok.

I tried with git diff BRANCH origin/BRANCH and no errors appear. So, how 
can I get the differences between the remote and the local file??

And more important, how can I upload my current local file and fix the 
remote one?

Thanks and regards

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [git-users] Remote differs from local. Wrong push?

2015-06-19 Thread Konstantin Khomoutov
On Fri, 19 Jun 2015 03:51:46 -0700 (PDT)
fs...@entornosdeformacion.com wrote:

 after a commit and push from my local branch to the remote one, I can
 see in the server (through the web page) that one of the committed
 files is broken. Differences shown in the commit are incompleted and
 the whole file is truncated. But if I look into my local file,
 everything is ok.
 
 I tried with git diff BRANCH origin/BRANCH and no errors appear.
 So, how can I get the differences between the remote and the local
 file??
 
 And more important, how can I upload my current local file and fix
 the remote one?

Before rushing to fix the sutiation I'd first verify the file is truly
broken.

The thing is, all the stuff in Git repositories is linked using the
SHA-1 hashes calculated over the contents of that stuff.  In other
words, commits link to their tree objects using the SHA-1 hash
calculated over the contents of that tree object; tree objects refer to
the blobs representing their files using, again, SHA-1 hashes
calculated over the contents of those files.  This means, if something
is *that* broken *and* Git does not notice this, it's way more likely
that the underlying filesystem (or disk drive) is hosed rather than the
file is corrupted.  A misbehaving web front-end is also more likely to
happen that the corruption of a file in the Git database.

To verify, you have several options.

The simplest is to first fetch from the remote and then see at the file.

Something like

  git fetch origin

and then

  git show origin/BRANCH:path/to/that/file

or

  git diff BRANCH origin/BRANCH path/to/that/file

If that's OK but you'd like to dig deeper, log into the server, where
the remote repository is located, `cd` to that repository's directory
and look at that file:

  git show BRANCH:path/to/that/file

If you'll notice that the file is indeed botched, return to us for
further assistance.

-- 
You received this message because you are subscribed to the Google Groups Git 
for human beings group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.