public void checkin(DomainFile df, boolean keepCheckedOut, String comment) throws Exception {

		assertFileInProject(df);

		if (!df.canCheckin()) {
			throw new IllegalArgumentException("canCheckin() is false for " + df);
		}

		CheckinHandler ch = new CheckinHandler() {

			@Override
			public boolean keepCheckedOut() throws CancelledException {
				return keepCheckedOut;
			}

			@Override
			public String getComment() throws CancelledException {
				return comment;
			}

			@Override
			public boolean createKeepFile() throws CancelledException {
				return false;
			}
		};

		df.checkin(ch, TaskMonitor.DUMMY);
		repo.refresh();
	}
Performs a check-in if the given file

@param df the domain file; cannot be null
@param keepCheckedOut true to keep the file checked-out after the check-in completes
@param comment the comment for the check-in
@throws IllegalArgumentException if the given file has no changes to check-in or cannot
        otherwise be checked-in
@throws Exception if there are any exceptions performing the check-in
Ghidra/Features/Base/src/test/java/ghidra/base/project/FakeSharedProject.java