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

Reply via email to