diff --git a/pom.xml b/pom.xml
index bf0cad0640..7f3bb58efa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
org.kohsuke
github-api
jar
- 1.6
+ 1.7
GitHub API for Java
http://kohsuke.org/github-api/
GitHub API for Java
diff --git a/src/main/java/org/kohsuke/github/GHPerson.java b/src/main/java/org/kohsuke/github/GHPerson.java
index 027c4529c3..3e905c05b1 100644
--- a/src/main/java/org/kohsuke/github/GHPerson.java
+++ b/src/main/java/org/kohsuke/github/GHPerson.java
@@ -43,11 +43,15 @@ public synchronized Map getRepositories() throws IOExceptio
*/
protected GHRepository refreshRepository(String name) throws IOException {
if (repositories==null) getRepositories(); // fetch the base first
- GHRepository r = root.retrieve("/repos/show/" + login + '/' + name, JsonRepository.class).wrap(root);
+ GHRepository r = fetchRepository(name);
repositories.put(name,r);
return r;
}
+ protected GHRepository fetchRepository(String name) throws IOException {
+ return root.retrieve("/repos/show/" + login + '/' + name, JsonRepository.class).wrap(root);
+ }
+
public GHRepository getRepository(String name) throws IOException {
return getRepositories().get(name);
}
diff --git a/src/main/java/org/kohsuke/github/GHRepository.java b/src/main/java/org/kohsuke/github/GHRepository.java
index 8816fb4d9c..be17ed46dd 100644
--- a/src/main/java/org/kohsuke/github/GHRepository.java
+++ b/src/main/java/org/kohsuke/github/GHRepository.java
@@ -33,6 +33,8 @@
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -236,7 +238,19 @@ public void renameTo(String newName) throws IOException {
try {
f.getInputByName("name").setValueAttribute(newName);
f.submit((HtmlButton)f.getElementsByTagName("button").get(0));
- name = newName;
+
+ // overwrite fields
+ final GHRepository r = getOwner().fetchRepository(newName);
+ for (Field fi : getClass().getDeclaredFields()) {
+ if (Modifier.isStatic(fi.getModifiers())) continue;
+ fi.setAccessible(true);
+ try {
+ fi.set(this,fi.get(r));
+ } catch (IllegalAccessException e) {
+ throw (IllegalAccessError)new IllegalAccessError().initCause(e);
+ }
+ }
+
return;
} catch (ElementNotFoundException e) {
// continue