Bug 510062 - Git log graph is broken on Node

If the list of commits that affect a given file exceed the page size,
the parent information of some commits may be incorrect because they
are pointing at the commit's actual parent and not a parent commit
that affects the interested file.

In such a situation, we first iterate and find all the parent commits
that are pointing at something that isn't being included in the
returned JSON response. For each one of those parents, we walk
through the tree iterating over their parents until we find a parent
that actually affects the given file. If such a commit has been
found, we then update the JSON information so that it now points to
this other parent commit that affects the interested file.

Signed-off-by: Remy Suen <remy.suen@gmail.com>
2 files changed
tree: d956cd4a2adc5771ee6c1497c1db54d33a1ac8b3
  1. .definitions/
  2. .gitignore
  3. .tern-project
  4. .travis.yml
  5. CONTRIBUTING.md
  6. README.md
  7. bundles/
  8. contributing_github.md
  9. features/
  10. modules/
  11. pom.xml
  12. project.json
  13. releng/
README.md

Orion

The goal of Orion is to build developer tooling that works in the browser, at web scale. The vision behind Orion is to move software development to the web as a web experience, by enabling open tool integration through HTTP and REST, JSON, OAuth, OpenID, and others. The idea is to exploit internet design principles throughout, instead of trying to bring existing desktop IDE concepts to the browser. See the Orion wiki for more information about Orion.

####IMPORTANT: Orion Development happens at Eclipse.org, not GitHub.com. Please Contribute using Eclipse.org tooling.

Contributing

Orion source code is available in an Eclipse Git repository, and there is also a mirror on GitHub. For complete details on getting the source and getting setup to develop Orion, see the Orion wiki.

Bug reports are welcome in bugzilla.

Patches are welcome in Gerrit.

How to build Orion using Maven

###Install Maven:

Install latest Maven 3.0 from http://maven.apache.org

###Clone Git repositories:

Clone org.eclipse.orion.client and org.eclipse.orion.server under the same local folder

% cd /my/git/repos
% git clone http://git.eclipse.org/gitroot/orion/org.eclipse.orion.client.git
% git clone http://git.eclipse.org/gitroot/orion/org.eclipse.orion.server.git

###Run Maven build:

% cd org.eclipse.orion.server
% mvn clean install -P platform-kepler,local-build -Dorion.client.build.skip -DskipTests

###Run the Orion server

% cd releng/org.eclipse.orion.server.repository/target/products/org.eclipse.orion/linux/gtk/x86_64/eclipse/
% ./orion

Now point your browser at http://localhost:8080 to start the Orion client.

How to build Orion using npm

###Install Node.js:

Install the latest Node.js v6 LTS from http://nodejs.org/

###Clone Git repositories:

Clone org.eclipse.orion.client.

% cd /my/git/repos
% git clone http://git.eclipse.org/gitroot/orion/org.eclipse.orion.client.git

###Run npm install:

% cd org.eclipse.orion.client
% cd modules/orionode
% npm install

###Run the Orion server

% node server.js

Now point your browser at http://localhost:8081 to start the Orion client.

License

This repository contains the Orion client and Node-based server. This source code is available under the Eclipse Public License and Eclipse Distribution License.