Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
# java_homeworks
## Мой GIT.
Для запуска выполните
```

mvn exec:java -Dexec.mainClass=hw_git.GitCli -Dexec.args="commit commessage testdir/file1"

```
64 changes: 64 additions & 0 deletions hw_git_2/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>1</groupId>
<artifactId>hw_git_2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>hw_git_2</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>


<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.6</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-io -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</project>
74 changes: 74 additions & 0 deletions hw_git_2/src/main/java/hw_git/GitCli.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
package hw_git;

import java.io.IOException;
import java.util.Arrays;

import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;

public class GitCli {
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {

GitCore core = new GitCore();
int revision;

try {
switch (args[0]) {
case "init":
core.makeInit();
break;
case "add":
System.out.println("Addition...");
core.makeAdd(Arrays.copyOfRange(args, 1, args.length));
break;
case "commit":
System.out.println("Commiting...");
core.makeCommit(args[1]);
System.out.println("Commit made at revision " + core.getCurrentRevision());
break;
case "checkout":
try {
revision = Integer.parseInt(args[1]);
System.out.println("Check out to revision " + revision);
core.makeCheckout(revision);
} catch (NumberFormatException e) {
core.makeCheckout(Arrays.copyOfRange(args, 2, args.length));
}
break;
case "reset":
revision = Integer.parseInt(args[1]);
System.out.println("Performing reset to revision " + revision);
core.makeReset(revision);
break;
case "log":
revision = args.length == 2 ? Integer.parseInt(args[1]) : -1;
System.out.println("Log: " + core.getLog(revision));
break;
case "rm":
System.out.println("Removing...");
core.makeRM(Arrays.copyOfRange(args, 1, args.length));
break;
case "status":
core.findRepInformation();
System.out.println("Status:");
System.out.println("Deleted files:\n________________");
for (String fname : core.getDeletedFiles()) {
System.out.println(fname);
}
System.out.println("Changed files:\n________________");
for (String fname : core.getChangedFiles()) {
System.out.println(fname);
}
System.out.println("Untracked files:\n________________");
for (String fname : core.getUntrackedFiles()) {
System.out.println(fname);
}
break;
default:
System.out.println("Unknown argument: " + args[0]);
}
} catch (UnversionedException e) {
System.out.println("This directory is not versioned");
}
}
}
Loading