Skip to content

Conversation

gabrielgad
Copy link

New Features

Repository Initialization with HTTPS

  • Add comprehensive settings for git repository initialization
  • Support for custom git hosting domains (GitHub, GitLab, Forgejo, etc.)
  • Separate fields for authentication (username/email + token) and repository path (owner/repo)
  • URL encoding for credentials to handle special characters (@, :, etc.)
  • Test credentials button to verify connection before initialization
  • Complete initialization flow: init → config → remote → branch → commit → push

Conflict Prevention for Collaboration

  • Auto Pull Before Push: Automatically pull-rebase before commit & push to prevent conflicts (enabled by default)
  • Periodic Remote Check: Optional background check every 5 minutes for remote changes
  • Auto Pull on Remote Changes: Automatically pull when remote changes detected
  • Visual notifications when remote has new changes

Improved Settings Organization

  • Organized settings into logical sections with headers:
    • Repository Initialization
    • Commit Settings
    • Automation & Behavior
    • UI Settings
  • Clearer field names and descriptions
  • Better UX for multi-user collaboration scenarios

Technical Details

  • Properly encode credentials in HTTPS URLs using encodeURIComponent()
  • Use git fetch + git rev-list HEAD..@{u} to detect remote changes
  • Interval-based remote checking with cleanup on settings change
  • Integration with existing auto-push and auto-sync features

Use Cases

  • Easy HTTPS setup without manual git configuration
  • Multi-user collaboration with conflict prevention
  • Support for various git hosting platforms
  • Secure credential handling with URL encoding

Testing

Tested with Forgejo hosting with email-based authentication and special characters in credentials.

…tures

## New Features

### Repository Initialization with HTTPS
- Add comprehensive settings for git repository initialization
- Support for custom git hosting domains (GitHub, GitLab, Gitea, etc.)
- Separate fields for authentication (username/email + token) and repository path (owner/repo)
- URL encoding for credentials to handle special characters (@, :, etc.)
- Test credentials button to verify connection before initialization
- Complete initialization flow: init → config → remote → branch → commit → push

### Conflict Prevention for Collaboration
- **Auto Pull Before Push**: Automatically pull-rebase before commit & push to prevent conflicts (enabled by default)
- **Periodic Remote Check**: Optional background check every 5 minutes for remote changes
- **Auto Pull on Remote Changes**: Automatically pull when remote changes detected
- Visual notifications when remote has new changes

### Improved Settings Organization
- Organized settings into logical sections with headers:
  - Repository Initialization
  - Commit Settings
  - Automation & Behavior
  - UI Settings
- Clearer field names and descriptions
- Better UX for multi-user collaboration scenarios

## Technical Details
- Properly encode credentials in HTTPS URLs using encodeURIComponent()
- Use git fetch + git rev-list HEAD..@{u} to detect remote changes
- Interval-based remote checking with cleanup on settings change
- Integration with existing auto-push and auto-sync features

## Use Cases
- Easy HTTPS setup without manual git configuration
- Multi-user collaboration with conflict prevention
- Support for various git hosting platforms
- Secure credential handling with URL encoding
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant