Both Martinho Fernandes and tialaramex correctly answer what you need to do. Let me describe why this is so.
Subversion
Subversion is a centralized version control system. This means that it works in client-server mode: the server stores all version data (repositories), the client has only a working directory (files) plus some administrative and auxiliary data. This means that for most commands, the client must contact the server. This also means that there are many commands requesting the status of the repository on the server or server configuration, for example, " svn status --show-updates ".
(Sidenote: one of the supporting information that Subversion stores on the client is the “original” version of the files, which means that checking for changes does not require a server connection (which is slow) ... but it also means that SVN checking can be more git repository).
"svn update" (required before commit, if the repository has any changes in this branch) downloads the latest version from the remote and merges (tries to merge) the changes you made with the changes from the remote. IMHO this workflow from upgrade to commit is not very well done.
Git
Git is a distributed version control system. This means that it works on a peer-to-peer basis: each “client” has all version data (full repository). A central repository is central only because of a social convention, and not technical limitations. This means that when accessing another remote repository, the number of commands "remotely executed" is very small. You can request links (aka. Branch and tags headers) using "git ls-remote" (and "git show update"), you can pull (receive) or click (publish) data using "git fetch" (or " git remote update ") /" git push ", and if the server is configured to allow it, you can get a snapshot of the status of the remote repository using" git archive --remote ".
So, to check the commits that are in the remote repository, but not present in your repository, you need to download the data to your computer. But "git pull" is actually nothing more than a "git fetch" that loads data and a "git merge" that combines it (with a little sugar to prepare commit messages and choose which branch to merge into). Then you can use "git fetch" (or "git remote update"), examine the newly received commits with "git log" and "gitk" (not limited to a fixed output), and then if all the right merges with "git merge" are all .
This does not apply to Git, but to all distributed version control systems, although the way of displaying SCM, but not related to it, may differ (Git uses remote tracking branches in 'remote / <remotename> / *' namespace, Mercurial from the fact that I understand, uses unnamed chapters).
NTN
Jakub Narębski Jul 16 '09 at 22:42 2009-07-16 22:42
source share