Someone please check the following statements for accuracy:
A == remote repo
B == local repo
C == local working directory including by definition the local repo (.git
directory)
1) clone copies compressed files from a remote repo to a local repo, creates
remote-tracking branches for each branch in the remote repository, and
creates and checks out an initial branch forked from the cloned repository's
currently active branch. A -> B -> C.
2) checkout updates files in the working directory to match the version in
the specified branch of the repo. By default, the current branch is set to
the specified branch. B -> C.
3) fetch only copies compressed files from a remote repo to a local repo. A
-> B.
3) pull fetches and then merges the fetched code into the current branch.
A -> B. No check-out is done; so how does the repo code get into the
working directory (C)? In practice, I think our factor.cmd does a pull that
puts code in the working directory, which is where the compiler goes for its
source during the build. So this is not clear to me. Perhaps I don't
understand what merge means.
Pull performs A > B, B > C. When I work with my own hosted git repos,
github, I either do pushes or pulls exclusively, and no other commands.
The definition given above is a paraphrase of the published definition. It
mentions only a fetch, which does not involve C, and a merge, defined below.
5) merge replays changes from a specified branch into the current branch.
The changes are those resulting from commits in the specified branch since
it diverged from the current branch. This looks like a local, repo-only
operation: B -> B.
I think it's B' -> B, then B -> C
Why aren't we certain?
I assume that B' is not a different repo directory but the same one in a
different state (having new files or changed files). I can't find anything
that says B -> C happens, but the real-world evidence says it does. Perhaps
the B -> C phase happens because a branch is checked-out when the merge
happens.
4) push copies compressed files from a local repo to a remote one, to update
it. B -> A
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
Spend less time writing and rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk